package com.xky.example_student.annotation;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RequirePermission {
    /**
     * 所需权限的key列表。
     * 如果有多个权限，需要同时满足所有权限才能访问。
     */
    String[] value();
    
    /**
     * 权限校验失败时的提示信息
     */
    String message() default "暂无操作权限";
    
    /**
     * 权限校验逻辑：AND 或 OR
     * AND: 所有权限都必须满足（默认）
     * OR: 任意一个权限满足即可
     */
    PermissionLogic logic() default PermissionLogic.AND;
    
    enum PermissionLogic {
        AND, OR
    }
}
